A descriptor (also referred to as configuration descriptor) is a persistent file (document) representing modifiable configuration data of a deployable and/or reusable software component, which can be accessible by a server or an application after the software component has been deployed. Here, a persistent file can be but is not limited to, an XML file, a text file, a formatted file, and other suitable file. Examples of existing descriptors include but is not limited to, standard J2EE (Java 2 Enterprise Edition) deployment descriptors, WLS (WebLogic Server) deployment descriptors and domain configuration descriptor (e.g., an XML file). A descriptor framework is aimed at addressing these uses as well as allowing applications to define their own descriptors.
One sticky problem for descriptor handling is to determine how to represent and access the configuration data defined in the descriptor. A descriptor can be initially defined by schemas in the persistent file (referred to as the “start-from-schema” approach), which provides more control over the forms and the contents of the descriptor. However, such an approach requires the developer of an application using a deployed software component to re-generate the program source codes and/or classes accessing the descriptor of the software component whenever a change to the schemas in the descriptor is required. Furthermore, such an approach complicates the development effort since no source codes and/or classes using the descriptor can be built and/or edited until the schemas are created and/or up to date.